class Restaurant::DeliveryMenController < ApplicationController
  # Questa riga aggiunte la protezione su tutte le azioni, i permessi vengono
  # poi stabiliti nel file authorization_rules.rb
  filter_access_to :all
  
  def new
    # questo metodo deve mostrare un form per riempire i campi del delivery_man
    @delivery_man = DeliveryMan.new
    @delivery_man.account = Account.new
    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @delivery_man }
    end
  end

  def create
    @delivery_man = DeliveryMan.new(params[:delivery_man])
    @delivery_man.account = Account.new(params[:account])
    @delivery_man.restaurant = @current_account.user

    respond_to do |format|
      if @delivery_man.save
        flash[:notice] = 'Il fattorino è stato creato correttamente!'
        format.html { redirect_to restaurant_delivery_men_path }
        format.xml  { render :xml => @delivery_man, :status => :created, :location => @delivery_man }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @delivery_man.errors, :status => :unprocessable_entity }
      end
    end
  end

  def edit
    @delivery_man = DeliveryMan.find(params[:id])
    unless @current_account.user.delivery_men.include? @delivery_man
      flash[:error] = "Non puoi modificare questo fattorino!"
      redirect_to restaurant_delivery_men_path
    end
  end

  def update
    @delivery_man = DeliveryMan.find(params[:id])
    respond_to do |format|
      if @current_account.user.delivery_men.include? @delivery_man
      	if @delivery_man.update_attributes(params[:delivery_man])
          flash[:notice] = 'Il profilo del fattorino è stato modificato'
          format.html { redirect_to root_path }
          format.xml  { head :ok }
        else
          format.html { render :action => "edit" }
          format.xml  { render :xml => @delivery_man.errors, :status => :unprocessable_entity }
        end
      else
        flash[:error] = "Non puoi modificare questo fattorino!"
      end
    end
  end

  def index
    # Quest'azione mostra una tabella con i fattorini associati ad una pizzeria
    # passata come parametro
    @delivery_men = @current_account.user.delivery_men
  end
end
